package chai.ning.cs.chars;

/**
 * 1、char类型的取值范围是 \u0000 ~ \uFFFF ，即 0b0000_0000_0000_0000 ~ 0b1111_1111_1111_1111
 * 2、整个Java语言中统统采用Unicode编码 (ASCII编码是Unicode的组成部分) 
 */
public class CharTest {

	public static void main(String[] args) {
		
		// 使用16个二进制位表示的最大整数和最小整数
		short max = (short) 0b0111_1111_1111_1111 ;
		System.out.println( max );
		
		short min = (short) 0b1000_0000_0000_0000 ;
		System.out.println( min );
		
		System.out.println( "- - - - - - - - - -");
		
		char first = 0b0111_1111_1111_1111 ;
		System.out.println( first );
		
		// 对于char类型来说，16个二进制位的最高位不是符号位
		// 对于char类型的来说，类似于C/C++无符号整数
		char second = 0b1000_0000_0000_0000 ;
		System.out.println( second );
		
		char third = 0b1111_1111_1111_1111 ;
		System.out.println( third );
		System.out.println( (int)third );
	}

}
